
package GestorCompeticion;

import ConexionBD.ConexionBD;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 * @author Abdelilah
 * @version 1.0
 * @created 04-may-2013 20:41:24
 */
public class ParticipaBD {

	private static ParticipaBD Instancia = null;

	public static ParticipaBD getInstancia(){
	    if (Instancia == null) {
                Instancia = new ParticipaBD();
            }
            
            return Instancia;
	}

	public void ParticipaBD(){}

	/**
	 * 
	 * @param Participa
	 */
	public Participa addParticipa(Participa Participa){
            
            Participa result;
            String consulta="INSERT INTO Participa VALUES ('" + 
                    Participa.getIdCompeticion() + "','" + 
                    Participa.getIdEquipo() + "');";
                
            try {
                ConexionBD.getInstancia().conectar();
                ConexionBD.getInstancia().actualizar(consulta);
                // Establece el valor de IdCompeticion generado por la BD en el objeto compt
                ConexionBD.getInstancia().desconectar();          
                result = Participa;
            } catch (SQLException ex) {
                result = null;
            }     
               
            return result;
	}

	/**
	 * 
	 * @param Participa
	 */
	public boolean deleteParticipa(Participa Participa){
            Boolean result;
            String consulta="DELETE FROM Participa WHERE " + "IdEquipo = '"+ 
                    Participa.getIdEquipo() + "' and IdCompeticion = '" + 
                    Participa.getIdCompeticion() + "';";
                
            try {
                ConexionBD.getInstancia().conectar();
                ConexionBD.getInstancia().actualizar(consulta);
                // Establece el valor de IdCompeticion generado por la BD en el objeto compt
                ConexionBD.getInstancia().desconectar();          
                result = true;
            } catch (SQLException ex) {
                result = false;
            }     
               
            return result;
	}

	/**
	 * 
	 * @param Participa
	 */
	public boolean updateParticipa(Participa Participa){
		Boolean result;
            String consulta="UPDATE Participa SET IdEquipo= '" + 
                    Participa.getIdEquipo() + "',IdCompeticion = '" + 
                    Participa.getIdCompeticion() + "';";
                
            try {
                ConexionBD.getInstancia().conectar();
                ConexionBD.getInstancia().actualizar(consulta);
                // Establece el valor de IdCompeticion generado por la BD en el objeto compt
                ConexionBD.getInstancia().desconectar();          
                result = true;
            } catch (SQLException ex) {
                result = false;
            }     
               
            return result;
	}


	/**
	 * 
	 * @param IdEquipo
	 * @param IdCampeonatol
	 */
	public Participa[] getParticipa(Integer IdEquipo, Integer IdCompeticion){
            
            Participa part;
            ArrayList<Participa> APart  = new ArrayList<Participa>();           
            Participa[] VPart = null;
            String consulta="SELECT * FROM Participa WHERE IdEquipo = '" + 
                    IdEquipo + "'" + " AND IdCompeticion = '" + IdCompeticion + "'";
            consulta += ";";
            
            try {
                ConexionBD.getInstancia().conectar();
                ResultSet tabla = ConexionBD.getInstancia().consultar(consulta);

                while (tabla.next()) { // Si devuelve false es que la búsqueda es vacía,
                    part = new Participa(tabla.getInt("IdEquipo"), tabla.getInt("IdEquipo"));
                    APart.add(part);
                }
                if(!APart.isEmpty()) {
                    VPart =APart.toArray( new Participa[APart.size()] );
                } 
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {     
                //System.out.println(ex);
            }
            
         return VPart;
        
        }

}